/*Version 1.0*/
#ifndef SCENARIO
#define SCENARIO

#include <glib.h>
#include <gtk/gtk.h>

struct sMarqueur
{
  gint duree; /*De l'animation en millisecondes*/
  gchar * nom_marqueur; /*Doit etre unique*/
  gint position_scenario; /*position en millisecondes*/
  gint position_tableau;
  gint index_fonction; /*Chaque fonction de la barre d'outils animation
			 renvoie un index qui permet de l'identifier*/
  gfloat vitesse; /*Du deplacement*/
  gfloat acceleration;
};
typedef struct sMarqueur Marqueur;

struct sScenario
{
  GArray * tab_mq;
};
typedef struct sScenario Scenario;

/*Structure de donnees creees pour le passage de plusieurs parametres                                                                  dans les fonctions G_CALLBACK*/
struct sSc
{
  Scenario * s;
  Marqueur * m;
};
typedef struct sSc Sc;

/*Precondition : Scenario non initialise*/
void InitScenario(Scenario * sc);

/*Precondition : Scenario initialise 
  Postcondition : Rajoute un marqueur au scenario*/
void RajouterMarqueur(GtkWidget *pButton,gpointer data);

/*Precondition : Scenario initialise, i position du marqueur dans le scenario*/
void ModifMarqueur(Scenario * sc,Marqueur mq,unsigned int i);

/*Precondition : Scenario initialise*/
void SuppMarqueur(Scenario * sc,unsigned int i);

/*Precondition : Scenario initialisee
Postcondition : Le Scenario ne peut plus etre utilisee
la memoire alloue pour le tableau est supprimee*/
void SuppScenario(Scenario * sc);

/*Fonction qui deroule le scenario*/
void DeroulerScenario(GtkWidget *pButton,gpointer data);

#endif
